/**
	The Minerva Project, DAG Scheduling Tools
	Copyright (C) 2006 Florin Pop & Stefan Bucur

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 */

package ro.pub.cs.minerva.resource;

import java.io.Serializable;

/**
 * @author Florin Pop
 *
 */
public class ResourceParameters implements Serializable {

	private static final long serialVersionUID = 200701031700L;
	
	private double memory; 
	private double cpuPower;
	private double cpuIdle;
	
	/**
	 * 
	 */
	public ResourceParameters() {
		this.memory = 0D;
		this.cpuPower = 0D;
		this.cpuIdle = 0D;
	}
	
	/**
	 * @param memory
	 * @param cpuPower
	 * @param cpuIdle
	 */
	public ResourceParameters(double memory, double cpuPower, double cpuIdle) {
		this.memory = memory;
		this.cpuPower = cpuPower;
		this.cpuIdle = cpuIdle;
	}

	/**
	 * @return the cpuIdle
	 */
	public double getCpuIdle() {
		return cpuIdle;
	}

	/**
	 * @param cpuIdle the cpuIdle to set
	 */
	public void setCpuIdle(double cpuIdle) {
		this.cpuIdle = cpuIdle;
	}

	/**
	 * @return the cpuPower
	 */
	public double getCpuPower() {
		return cpuPower;
	}

	/**
	 * @param cpuPower the cpuPower to set
	 */
	public void setCpuPower(double cpuPower) {
		this.cpuPower = cpuPower;
	}

	/**
	 * @return the memory
	 */
	public double getMemory() {
		return memory;
	}

	/**
	 * @param memory the memory to set
	 */
	public void setMemory(double memory) {
		this.memory = memory;
	}
	
	public String toString() {
		return new String("[memory=" + memory + " cpuPower=" + cpuPower + " cpuIdle=" + cpuIdle + "]");
	}
}
